The present invention relates generally to computing devices, and more particularly, to managing file system usage for applications executing on computing devices.
Current file systems offer protection on a per-user basis. That is, user permissions are established for files, such that a program run by a particular user can read, write, delete, and/or execute any file for which that user has the corresponding permissions. This leads to a plethora of security, reliability, and maintenance issues that plague today's computer users.
As examples of security problems, the user's computer is vulnerable to easy infestation by a virus unwittingly executed by the user. Trojan programs may also be unleashed that can read any of a given user's files, and report information from those files without the user's knowledge. So-called “spy ware” might be accidentally installed.
Other file system problems may be caused in less malicious ways, such as through programming errors made by the program developers. For example, a program might overwrite another program's critical files with its own (possibly incompatible) version, which may lead to unpredictable results. Uninstaller programs might be used that fail to completely uninstall a program, leaving behind parts of the application that are no longer usable. And, faulty uninstallers are provided in some cases, making programs difficult to uninstall. When applications that are no longer needed are not uninstalled, system resources may be wasted.